home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / AppleShare IP SDK / ASIP Server Controls⁄Events / Headers / AppleShareFileServerControl.a next >
Encoding:
Text File  |  1999-05-21  |  39.3 KB  |  962 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AppleShareFileServerControl.a
  3. ;
  4. ;    Contains:    Interface definitions for Server Control calls, and Server Event constants;
  5. ;
  6. ;    Version:    Technology:    AppleShare IP 6.0
  7. ;                Release:    ASIP 6.2 SDK - Friday, April 2, 1999 9:36:27 AM
  8. ;
  9. ;    Copyright:    © 1995-1999 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__APPLESHAREFILESERVERCONTROL__') = 'UNDEFINED' THEN
  18. __APPLESHAREFILESERVERCONTROL__ SET 1
  19.  
  20.     IF &TYPE('__APPLETALK__') = 'UNDEFINED' THEN
  21.     include 'AppleTalk.a'
  22.     ENDIF
  23.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  24.     include 'Files.a'
  25.     ENDIF
  26.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  27.     include 'MixedMode.a'
  28.     ENDIF
  29.     IF &TYPE('__TRAPS__') = 'UNDEFINED' THEN
  30.     include 'Traps.a'
  31.     ENDIF
  32.  
  33. ;  Server Control Codes ---------------------------------------------------------------------------- 
  34.  
  35. kSCStartServer                    EQU        0                    ; Use StartParam variant 
  36. kSCShutDown                        EQU        2                    ; Use DisconnectParam variant 
  37. kSCCancelShutDown                EQU        3                    ; Use DisconnectParam variant 
  38. kSCDisconnect                    EQU        4                    ; Use DisconnectParam variant 
  39. kSCPollServer                    EQU        5                    ; Use PollServerParam variant 
  40. kSCGetExpFldr                    EQU        6                    ; Use StandardParam variant 
  41. kSCGetSetupInfo                    EQU        7                    ; Use SetupParam variant 
  42. kSCSetSetupInfo                    EQU        8                    ; Use SetupParam variant 
  43. kSCSendMessage                    EQU        9                    ; Use DisconnectParam variant 
  44. kSCGetServerStatus                EQU        10                    ; Use StatusParam variant 
  45. kSCInstallServerEventProc        EQU        11                    ; Use ServerEventParam variant 
  46. kSCRemoveServerEventProc        EQU        12                    ; Use ServerEventParam variant 
  47. kSCGetServerEventProc            EQU        13                    ; Use ServerEventParam variant 
  48. kSCServerVersion                EQU        14                    ; Use VersionParam variant 
  49. kSCSetCopyProtect                EQU        16                    ; Use StandardParam variant 
  50. kSCClrCopyProtect                EQU        17                    ; Use StandardParam variant 
  51. kSCDisconnectVolUsers            EQU        18                    ; Use DisconnectParam variant 
  52. kSCGetUserNameRec                EQU        19                    ; Use UserInfoParam variant 
  53. kSCGetUserMountInfo                EQU        20                    ; Use VolMountedParam variant 
  54. kSCWakeServer                    EQU        21                    ; Use StartParam variant 
  55. kSCSleepServer                    EQU        22                    ; Use DisconnectParam variant 
  56. kSCGetCacheStats                EQU        23                    ; Use GetCacheStatsParam variant 
  57. kSCResetCache                    EQU        31                    ; Use ResetCacheParam variant 
  58. kSCGetExtUserNameRec            EQU        35                    ; Use ExtUserInfoParam variant 
  59. kSCServiceStateInfo                EQU        38                    ; Use ServiceStateParam variant 
  60. kSCGetPlugInInfo                EQU        41                    ; Use PlugInInfoParam variant 
  61. kSCGetPlugInMimeType            EQU        42                    ; Use PlugInMimeTypeParam variant 
  62. kSCSetHistorySampleTime            EQU        43                    ; Use SetHistoryParam variant 
  63. kSCGetServerActivityHistory        EQU        44                    ; Use GetHistoryParam variant
  64. kSCGetSMBConfig                    EQU        46                    ; Use SMBConfigParam variant
  65. kSCBlockGetUserList                EQU        47                    ; Use BlockUserRecParam variant
  66. ;  General Constants ------------------------------------------------------------------------------- 
  67. ;  PollServer scServerState responses... 
  68.  
  69. kSCPollRunning                    EQU        -1
  70. kSCPollStartingUp                EQU        -2
  71. kSCPollJustDisabled                EQU        -3
  72. kSCPollDisabledErr                EQU        -4
  73. kSCPollSleeping                    EQU        -5
  74. ;  PollServer scDisconnectState responses... 
  75.  
  76. kSCNotDisconnecting                EQU        -1
  77. kSCDisconnectWithin29Secs        EQU        0
  78. kSCDisconnect30To89Secs            EQU        1                    ; Any other value is the number of minutes remaining, rounded... 
  79. ;  PollServer scServerErrors responses... 
  80.  
  81. kSCModernMemMgrOffErr            EQU        1                    ; Must run with Modern Memory Manager 
  82. kSCNoThreadLibraryErr            EQU        2
  83. kSCServiceNotInstalledErr        EQU        3
  84. kSCInsuffMFMemErr                EQU        4
  85. kSCCantRegNameErr                EQU        5
  86. kSCCantFindExtnFolderErr        EQU        6
  87. kSCUnExATalkErr                    EQU        7
  88. kSCNoMachineNameErr                EQU        8
  89. kSCCantFindFSExtnErr            EQU        9
  90. kSCATalkOffErr                    EQU        10
  91. kSCNoInitRunErr                    EQU        12
  92. kSCInsuffAppMemErr                EQU        14
  93. kSCBadConfigErr                    EQU        15
  94. kSCNoDTOnStartupErr                EQU        16
  95. kSCDupNameErr                    EQU        17
  96. kSCBadFileBufParmsErr            EQU        19
  97. kSCNeedRootUserErr                EQU        20                    ; The range 21-28 are reserved for future use by Apple. 
  98. kSCBadSerialNumErr                EQU        29
  99. kSCSysTooOldErr                    EQU        34
  100. kSCDupSerialNumberErr            EQU        36                    ; NBP dup serial number detected 
  101. kSCVMOnErr                        EQU        37                    ; Virtual Memory is turned on on server machine 
  102. kSCNoPPCErr                        EQU        38                    ; Server only runs on a ppc machine 
  103. kSCBadInitErr                    EQU        39
  104. kSCOpenTransportInstallErr        EQU        40                    ; Incompatible version of Open Transport 
  105. kSCNoAgentLibErr                EQU        41                    ; No ASRLib 
  106. kSCNoAgentSessionErr            EQU        42                    ; Could not open an agent session 
  107. kSCInvalidAgentErr                EQU        43                    ; No agent or a problem with the agent 
  108. kSCAgentServerObjErr            EQU        44                    ; Bad server object type. 
  109. kSCAgentGenesisErr                EQU        46
  110. kSCAlreadyShuttingDown            EQU        -1
  111. kSCAlreadyDisconnecting            EQU        -2
  112. kSCDeletedPDSErr                EQU        -2
  113. kSCContainsExpFolderErr            EQU        -3
  114. kSCCantPrepareVolumeErr            EQU        -4
  115. kSCTooManyExpFoldersErr            EQU        -5
  116. kSCFixedPDSErr                    EQU        -6
  117. kSCExpFolderNamConfErr            EQU        -7
  118. kSCNoExportFolderErr            EQU        -8
  119. kSCInsideExpFolderErr            EQU        -9
  120. kSCInsideTrashErr                EQU        -10
  121. kSCVolNameConflictErr            EQU        -11
  122. kSCCacheReducedErr                EQU        -12
  123. kSCBadIPConfigErr                EQU        -20
  124. kSCBadAccessPrivRecErr            EQU        -21
  125. kSCBadMimeTypeFileErr            EQU        -22
  126. kSCDuplicateVolumeErr            EQU        -23                    ; Second volume with same name will not be shared 
  127.                                                             ; -100 to -199 are AFP errors 
  128. kSCAFPGenErr                    EQU        -100
  129. kSCAFPTCPGenErr                    EQU        -150
  130. kSCAFPTCPMemErr                    EQU        -151
  131. kSCAFPTCPPortInUseErr            EQU        -152                ; -200 to -299 are FTP errors 
  132. kSCFTPGenErr                    EQU        -200
  133. kSCFTPPortInUseErr                EQU        -201
  134. kSCFTPNotAvailErr                EQU        -202
  135. kSCFTPMemErr                    EQU        -203                ; -300 to -399 are Web errors 
  136. kSCHTTPGenErr                    EQU        -300
  137. kSCHTTPPortInUseErr                EQU        -302
  138. kSCHTTPFolderErr                EQU        -303
  139. kSCHTTPFileErr                    EQU        -304
  140. kSCHTTPMemErr                    EQU        -305
  141. kSCHTTPNoMimeTypesErr            EQU        -306
  142. kSCHTTPNoDefaultMimeErr            EQU        -307
  143. kSCPluginDirNotFoundErr            EQU        -308
  144. kSCPluginMemFullErr                EQU        -309
  145. kSCPluginPreProcNotFoundErr        EQU        -310
  146. kSCPluginPostProcNotFoundErr    EQU        -311
  147. kSCErrorPluginNotFoundErr        EQU        -312
  148. kSCPluginNotPreProcessorErr        EQU        -313
  149. kSCPluginNotPostProcessorErr    EQU        -314
  150. kSCPluginMemPoolFullErr            EQU        -315
  151. kSCPluginOutOfMemoryErr            EQU        -316
  152. kSCCorruptedMimeTypesErr        EQU        -317
  153. kSCPlugInLoggingErr                EQU        -318
  154. kSCPlugInTypeConflictErr        EQU        -319
  155. kSCPlugInCannotRegisterErr        EQU        -320
  156. kSCPlugInMemSmallErr            EQU        -321
  157. kSCWebAdminNetworkErr            EQU        -330                ; -400 to -499 are SMB errors  
  158. kSCSMBGenErr                    EQU        -400
  159. kSCSMBPortInUseErr                EQU        -402
  160. kSCSMBMemErr                    EQU        -405
  161. ;  Define times for shutdown... 
  162.  
  163. kSCMaxTimer                        EQU        4094
  164. kSCMinTimer                        EQU        0
  165. ;  Plugin errors (PlugInMimeTypeParam, PlugInInfoParam)... 
  166.  
  167. kSCPlugInNoErr                    EQU        0
  168. kSCPlugInWrongVersionErr        EQU        1
  169. kSCPlugInBadIndexErr            EQU        2
  170. kSCPlugInPlugInsNotLoadedErr    EQU        3
  171. kSCPlugInBadPlugInRefErr        EQU        4
  172. ;  Plugin info dimensions (C-strings)... 
  173.  
  174. kSCPlugInNameSize                EQU        32
  175. kSCPlugInAdminURLSize            EQU        256
  176. kSCPlugInVersionStrSize            EQU        12
  177. kSCMimeTypeSize                    EQU        80
  178. kSCSuffixSize                    EQU        32
  179. ;  Number of samples in ServerHistoryRec... 
  180.  
  181. kSCMaxDataPoints                EQU        1024
  182. ;  For siVersion field of SetupInfoRec...
  183.  
  184. kSCSetUpRecordVersion            EQU        3
  185. ;  VersionParam's scServerType contains the server type, which is interpreted as follows: 
  186.  
  187. kSCMFSServerType                EQU        $0000                ; Macintosh File Sharing 
  188. kSCAFSServerType                EQU        $0001                ; AppleShare/AppleShare IP File Server 
  189.     IF &TYPE('SCCACHESTATSRECVERS3') = 'UNDEFINED' THEN
  190.     SCCACHESTATSRECVERS3: SET 1
  191. ;  For csVersion field of SCCacheStatsRec... 
  192.  
  193. kSCCacheStatsRecVersion            EQU        3
  194.     ENDIF
  195. ;  Current version number of scFileInfoRec block... 
  196.  
  197. kSCFileInfoRecVersion            EQU        1
  198. ;  Parameters for the "bitmap" field of ResetCacheParam... 
  199.  
  200. kSCResetFileCache                EQU        $0001
  201. kSCResetCNodeCache                EQU        $0002
  202. kSCResetDTCache                    EQU        $0004
  203. kSCShrinkCache                    EQU        $8000
  204. kSCShrinkAllCaches                EQU        $8007
  205. ;  For attrVersion field of ExtUserInfoParam... 
  206.  
  207. kSCOldUserAttrRecVersion        EQU        0
  208. kSCUserAttrRecVersion            EQU        1
  209. ;  Current session layers for scProtocolType field of UserAttrRec... 
  210.  
  211. kSCSessionInvalid                EQU        $0000
  212. kSCSessionAll                    EQU        'alls'
  213. kSCSessionAFP                    EQU        'afp '
  214. kSCSessionHTTP                    EQU        'http'
  215. kSCSessionFTP                    EQU        'ftp '
  216. kSCSessionSMB                    EQU        'smb '
  217. kSCSessionNFS                    EQU        'nfs '
  218. ;  Current transport layers for scTransportType field of UserAttrRec... 
  219.  
  220. kSCTransportATP                    EQU        'atp '
  221. kSCTransportTCP                    EQU        'tcp '
  222. ;  For version field of PlugInInfoParam... 
  223.  
  224. kSCPlugInInfoParamVersion        EQU        0
  225. ;  For plugInAttributes field of PlugInInfoParam... 
  226.  
  227. kSCAttPreProcessor                EQU        $00000001            ; works as a preprocessor 
  228. kSCAttPostProcessor                EQU        $00000002            ; works as a postprocessor 
  229. kSCAttFilter                    EQU        $00000004            ; works as filter 
  230. kSCAttAccessControl                EQU        $00000008            ; works as access control 
  231. kSCAttErrorProcessor            EQU        $00000010            ; works as error processor 
  232. ;  Current version number of SCSrvrMsgsRec... 
  233.  
  234. kSCSrvrMsgsRecVersion            EQU        1
  235. ;  For version field of PlugInMimeTypeParam... 
  236.  
  237. kSCPlugInMimeTypeParamVersion    EQU        0
  238. ;  For version field of BlockUserRecParam...
  239.  
  240. kSCBlockGetUserRecVersion        EQU        1
  241. ;  Other service states...
  242.  
  243. kSCFTPServiceBit                EQU        $01
  244. kSCSMBServiceBit                EQU        $02
  245. ;  Misc params...
  246.  
  247. kSCCurrentlyInstalled            EQU        0
  248. kSCUseFinderExtension            EQU        0
  249. kSCStartingEntity                EQU        1
  250. kSCStartingExtension            EQU        2
  251. kSCUseMessagePtr                EQU        1
  252. ;  Server Control Data Structures ------------------------------------------------------------------ 
  253.  
  254. ;   Since all calls are made through ServerDispatchSync, ioCompletion is ignored, so this is for
  255. ;   completeness only..., 
  256.  
  257.  
  258. ; typedef UniversalProcPtr                 SCCompletionUPP
  259.  
  260. StartParam                RECORD 0
  261. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  262. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  263. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  264. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  265. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  266. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  267. reserved                 ds.l    1                ; offset: $12 (18)
  268. reserved2                 ds.w    1                ; offset: $16 (22)
  269. reserved3                 ds.w    1                ; offset: $18 (24)
  270. scCode                     ds.w    1                ; offset: $1A (26)
  271. scStartSelect             ds.w    1                ; offset: $1C (28)
  272. scEventSelect             ds.w    1                ; offset: $1E (30)
  273. scWhere                     ds.l    1                ; offset: $20 (32)
  274. scReceiverID             ds.l    1                ; offset: $24 (36)
  275. scDataType                 ds.l    1                ; offset: $28 (40)
  276. scStartOptions             ds.l    1                ; offset: $2C (44)
  277. sizeof                     EQU *                    ; size:   $30 (48)
  278.                         ENDR
  279. ; typedef struct StartParam *            StartParamPtr
  280.  
  281. DisconnectParam            RECORD 0
  282. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  283. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  284. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  285. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  286. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  287. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  288. scDiscArrayPtr             ds.l    1                ; offset: $12 (18)
  289. scArrayCount             ds.w    1                ; offset: $16 (22)
  290. reserved                 ds.w    1                ; offset: $18 (24)
  291. scCode                     ds.w    1                ; offset: $1A (26)
  292. scNumMinutes             ds.w    1                ; offset: $1C (28)
  293. scFlags                     ds.w    1                ; offset: $1E (30)
  294. scMessagePtr             ds.l    1                ; offset: $20 (32)
  295. sizeof                     EQU *                    ; size:   $24 (36)
  296.                         ENDR
  297. ; typedef struct DisconnectParam *        DisconnectParamPtr
  298.  
  299. PollServerParam            RECORD 0
  300. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  301. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  302. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  303. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  304. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  305. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  306. reserved                 ds.l    1                ; offset: $12 (18)
  307. reserved2                 ds.w    1                ; offset: $16 (22)
  308. reserved3                 ds.w    1                ; offset: $18 (24)
  309. scCode                     ds.w    1                ; offset: $1A (26)
  310. scServerState             ds.w    1                ; offset: $1C (28)
  311. scDisconnectState         ds.w    1                ; offset: $1E (30)
  312. scServerError             ds.w    1                ; offset: $20 (32)
  313. scSecondsLeft             ds.l    1                ; offset: $22 (34)
  314. sizeof                     EQU *                    ; size:   $26 (38)
  315.                         ENDR
  316. ; typedef struct PollServerParam *        PollServerParamPtr
  317.  
  318. StandardParam            RECORD 0
  319. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  320. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  321. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  322. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  323. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  324. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  325. scNamePtr                 ds.l    1                ; offset: $12 (18)
  326. scVRefNum                 ds.w    1                ; offset: $16 (22)
  327. scLogins                 ds.w    1                ; offset: $18 (24)
  328. scCode                     ds.w    1                ; offset: $1A (26)
  329. scIndex                     ds.w    1                ; offset: $1C (28)
  330. scDirID                     ds.l    1                ; offset: $1E (30)
  331. sizeof                     EQU *                    ; size:   $22 (34)
  332.                         ENDR
  333. ; typedef struct StandardParam *        StandardParamPtr
  334.  
  335. Str198                    RECORD 0
  336. elements                 ds.b    199
  337.                          ORG 200
  338. sizeof                     EQU *                    ; size:   $C8 (200)
  339.                         ENDR
  340.  
  341.  
  342. SetupInfoRec            RECORD 0
  343. siVersion                 ds.w    1                ; offset: $0 (0)
  344. siFlags                     ds.w    1                ; offset: $2 (2)
  345. siMaxLogins                 ds.w    1                ; offset: $4 (4)
  346. siSrvrUsageLimit         ds.w    1                ; offset: $6 (6)
  347. siVolInfoLocation         ds        Point            ; offset: $8 (8)
  348. siVolInfoVisible         ds.b    1                ; offset: $C (12)
  349. siReserved1                 ds.b    1                ; offset: $D (13)
  350. siUserInfoLocation         ds        Point            ; offset: $E (14)
  351. siUserInfoVisible         ds.b    1                ; offset: $12 (18)
  352. siReserved2                 ds.b    1                ; offset: $13 (19)
  353. siShutDownMins             ds.w    1                ; offset: $14 (20)
  354. siCacheControl             ds.w    1                ; offset: $16 (22)        ;  no longer used 
  355. siVolParmsStepSize         ds.w    1                ; offset: $18 (24)
  356. siVolParmsIncrement         ds.w    1                ; offset: $1A (26)
  357. siVolParmsFirstDelay     ds.w    1                ; offset: $1C (28)
  358. siVolParmsMaxDelay         ds.w    1                ; offset: $1E (30)
  359. siRACacheFileBufSize     ds.l    1                ; offset: $20 (32)        ;  no longer used 
  360. siRACacheSize             ds.l    1                ; offset: $24 (36)        ;  no longer used 
  361. siDirCacheMaxWidth         ds.w    1                ; offset: $28 (40)        ;  no longer used 
  362. siDirCacheSize             ds.l    1                ; offset: $2A (42)        ;  no longer used 
  363. siIconCacheSize             ds.l    1                ; offset: $2E (46)        ;  no longer used 
  364. siBTMemReservedFromCache  ds.l    1                ; offset: $32 (50)
  365. siSpare                     ds.w    1                ; offset: $36 (54) <-- really an array of length one ;  reserved 
  366. siLoginMsg                 ds        Str198            ; offset: $38 (56)
  367.                          ORG 256
  368. sizeof                     EQU *                    ; size:   $100 (256)
  369.                         ENDR
  370. ; typedef struct SetupInfoRec *            SetupInfoPtr
  371.  
  372. SetupParam                RECORD 0
  373. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  374. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  375. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  376. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  377. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  378. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  379. scSetupPtr                 ds.l    1                ; offset: $12 (18)
  380. scMaxVolumes             ds.w    1                ; offset: $16 (22)
  381. scMaxExpFolders             ds.w    1                ; offset: $18 (24)
  382. scCode                     ds.w    1                ; offset: $1A (26)
  383. scCurMaxSessions         ds.w    1                ; offset: $1C (28)
  384. sizeof                     EQU *                    ; size:   $1E (30)
  385.                         ENDR
  386. ; typedef struct SetupParam *            SetupParamPtr
  387.  
  388. StatusParam                RECORD 0
  389. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  390. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  391. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  392. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  393. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  394. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  395. scNamePtr                 ds.l    1                ; offset: $12 (18)
  396. reserved2                 ds.w    1                ; offset: $16 (22)
  397. reserved3                 ds.w    1                ; offset: $18 (24)
  398. scCode                     ds.w    1                ; offset: $1A (26)
  399. scServerFlags             ds.w    1                ; offset: $1C (28)
  400. scNumSessions             ds.w    1                ; offset: $1E (30)
  401. scUserListModDate         ds.l    1                ; offset: $20 (32)
  402. scActivity                 ds.w    1                ; offset: $24 (36)
  403. scVolListModDate         ds.l    1                ; offset: $26 (38)
  404. sizeof                     EQU *                    ; size:   $2A (42)
  405.                         ENDR
  406. ; typedef struct StatusParam *            StatusParamPtr
  407.  
  408. ServerEventParam        RECORD 0
  409. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  410. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  411. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  412. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  413. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  414. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  415. scSEQEntryPtr             ds.l    1                ; offset: $12 (18)
  416. reserved2                 ds.w    1                ; offset: $16 (22)
  417. reserved3                 ds.w    1                ; offset: $18 (24)
  418. scCode                     ds.w    1                ; offset: $1A (26)
  419. sizeof                     EQU *                    ; size:   $1C (28)
  420.                         ENDR
  421. ; typedef struct ServerEventParam *        ServerEventParamPtr
  422.  
  423. VersionParam            RECORD 0
  424. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  425. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  426. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  427. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  428. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  429. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  430. scExtNamePtr             ds.l    1                ; offset: $12 (18)
  431. reserved2                 ds.w    1                ; offset: $16 (22)
  432. reserved3                 ds.w    1                ; offset: $18 (24)
  433. scCode                     ds.w    1                ; offset: $1A (26)
  434. scServerType             ds.w    1                ; offset: $1C (28)
  435. scServerVersion             ds.w    1                ; offset: $1E (30)
  436. sizeof                     EQU *                    ; size:   $20 (32)
  437.                         ENDR
  438. ; typedef struct VersionParam *            VersionParamPtr
  439.  
  440. UserInfoParam            RECORD 0
  441. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  442. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  443. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  444. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  445. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  446. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  447. scNamePtr                 ds.l    1                ; offset: $12 (18)
  448. reserved2                 ds.w    1                ; offset: $16 (22)
  449. reserved3                 ds.w    1                ; offset: $18 (24)
  450. scCode                     ds.w    1                ; offset: $1A (26)
  451. scPosition                 ds.l    1                ; offset: $1C (28)
  452. scUNRecID                 ds.l    1                ; offset: $20 (32)
  453. scUserID                 ds.l    1                ; offset: $24 (36)
  454. scLoginTime                 ds.l    1                ; offset: $28 (40)
  455. scLastUseTime             ds.l    1                ; offset: $2C (44)
  456. scSocketNum                 ds.l    1                ; offset: $30 (48)
  457. sizeof                     EQU *                    ; size:   $34 (52)
  458.                         ENDR
  459. ; typedef struct UserInfoParam *        UserInfoParamPtr
  460.  
  461. VolMountedParam            RECORD 0
  462. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  463. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  464. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  465. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  466. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  467. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  468. reserved                 ds.l    1                ; offset: $12 (18)
  469. scVRefNum                 ds.w    1                ; offset: $16 (22)
  470. reserved3                 ds.w    1                ; offset: $18 (24)
  471. scCode                     ds.w    1                ; offset: $1A (26)
  472. scFilesOpen                 ds.w    1                ; offset: $1C (28)
  473. scWriteableFiles         ds.w    1                ; offset: $1E (30)
  474. scUNRecID                 ds.l    1                ; offset: $20 (32)
  475. scMounted                 ds.b    1                ; offset: $24 (36)
  476. scMountedAsOwner         ds.b    1                ; offset: $25 (37)
  477. sizeof                     EQU *                    ; size:   $26 (38)
  478.                         ENDR
  479. ; typedef struct VolMountedParam *        VolMountedParamPtr
  480.  
  481. SCCacheStatsRec            RECORD 0
  482. csVersion                 ds.w    1                ; offset: $0 (0)
  483. csCacheTime                 ds.l    1                ; offset: $2 (2)
  484. csRACacheAttempts         ds.l    1                ; offset: $6 (6)        ;  file cache 
  485. csRACacheHits             ds.l    1                ; offset: $A (10)
  486. csRACacheTotalEntries     ds.l    1                ; offset: $E (14)
  487. csRACacheEntriesInUse     ds.l    1                ; offset: $12 (18)
  488. csRACacheEntrySize         ds.l    1                ; offset: $16 (22)
  489. csDirCacheAttempts         ds.l    1                ; offset: $1A (26)        ;  dir cache 
  490. csDirCacheHits             ds.l    1                ; offset: $1E (30)
  491. csDirCacheTotalEntries     ds.l    1                ; offset: $22 (34)
  492. csDirCacheEntriesInUse     ds.l    1                ; offset: $26 (38)
  493. csDirCacheEntrySize         ds.l    1                ; offset: $2A (42)
  494. csIconCacheAttempts         ds.l    1                ; offset: $2E (46)        ;  dt cache 
  495. csIconCacheHits             ds.l    1                ; offset: $32 (50)
  496. csIconCacheTotalEntries     ds.l    1                ; offset: $36 (54)
  497. csIconCacheEntriesInUse     ds.l    1                ; offset: $3A (58)
  498. csIconCacheEntrySize     ds.l    1                ; offset: $3E (62)
  499. csACtlCacheAttempts         ds.l    1                ; offset: $42 (66)        ;  PDS info, part of dir cache 
  500. csACtlCacheHits             ds.l    1                ; offset: $46 (70)
  501. csACtlCacheTotalEntries     ds.l    1                ; offset: $4A (74)
  502. csACtlCacheEntriesInUse     ds.l    1                ; offset: $4E (78)
  503. csACtlCacheEntrySize     ds.l    1                ; offset: $52 (82)
  504. csAUXCacheAttempts         ds.l    1                ; offset: $56 (86)        ;  not used 
  505. csAUXCacheHits             ds.l    1                ; offset: $5A (90)
  506. csAUXCacheTotalEntries     ds.l    1                ; offset: $5E (94)
  507. csAUXCacheEntriesInUse     ds.l    1                ; offset: $62 (98)
  508. csAUXCacheEntrySize         ds.l    1                ; offset: $66 (102)
  509. ;   New fields for version 3 record
  510. csEnumCacheAttempts         ds.l    1                ; offset: $6A (106)
  511. csEnumCacheHits             ds.l    1                ; offset: $6E (110)
  512. csEnumCacheTotalEntries     ds.l    1                ; offset: $72 (114)
  513. csEnumCacheEntriesInUse     ds.l    1                ; offset: $76 (118)
  514. csEnumCacheEntrySize     ds.l    1                ; offset: $7A (122)
  515. csMaxFBUsed                 ds.l    1                ; offset: $7E (126)
  516. csSkipPrsAttempts         ds.l    1                ; offset: $82 (130)
  517. csSkipPrsHits             ds.l    1                ; offset: $86 (134)
  518. sizeof                     EQU *                    ; size:   $8A (138)
  519.                         ENDR
  520. ; typedef struct SCCacheStatsRec *        SCCacheStatsRecPtr
  521.  
  522. SCOldCacheStatsRec        RECORD 0
  523. csVersion                 ds.w    1                ; offset: $0 (0)
  524. csCacheTime                 ds.l    1                ; offset: $2 (2)
  525. csRACacheAttempts         ds.l    1                ; offset: $6 (6)        ;  file cache 
  526. csRACacheHits             ds.l    1                ; offset: $A (10)
  527. csRACacheTotalEntries     ds.l    1                ; offset: $E (14)
  528. csRACacheEntriesInUse     ds.l    1                ; offset: $12 (18)
  529. csRACacheEntrySize         ds.l    1                ; offset: $16 (22)
  530. csDirCacheAttempts         ds.l    1                ; offset: $1A (26)        ;  dir cache 
  531. csDirCacheHits             ds.l    1                ; offset: $1E (30)
  532. csDirCacheTotalEntries     ds.l    1                ; offset: $22 (34)
  533. csDirCacheEntriesInUse     ds.l    1                ; offset: $26 (38)
  534. csDirCacheEntrySize         ds.l    1                ; offset: $2A (42)
  535. csIconCacheAttempts         ds.l    1                ; offset: $2E (46)        ;  dt cache 
  536. csIconCacheHits             ds.l    1                ; offset: $32 (50)
  537. csIconCacheTotalEntries     ds.l    1                ; offset: $36 (54)
  538. csIconCacheEntriesInUse     ds.l    1                ; offset: $3A (58)
  539. csIconCacheEntrySize     ds.l    1                ; offset: $3E (62)
  540. csACtlCacheAttempts         ds.l    1                ; offset: $42 (66)        ;  PDS info, part of dir cache 
  541. csACtlCacheHits             ds.l    1                ; offset: $46 (70)
  542. csACtlCacheTotalEntries     ds.l    1                ; offset: $4A (74)
  543. csACtlCacheEntriesInUse     ds.l    1                ; offset: $4E (78)
  544. csACtlCacheEntrySize     ds.l    1                ; offset: $52 (82)
  545. csAUXCacheAttempts         ds.l    1                ; offset: $56 (86)        ;  not used 
  546. csAUXCacheHits             ds.l    1                ; offset: $5A (90)
  547. csAUXCacheTotalEntries     ds.l    1                ; offset: $5E (94)
  548. csAUXCacheEntriesInUse     ds.l    1                ; offset: $62 (98)
  549. csAUXCacheEntrySize         ds.l    1                ; offset: $66 (102)
  550. sizeof                     EQU *                    ; size:   $6A (106)
  551.                         ENDR
  552. ; typedef struct SCOldCacheStatsRec *    SCOldCacheStatsRecPtr
  553.  
  554. GetCacheStatsParam        RECORD 0
  555. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  556. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  557. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  558. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  559. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  560. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  561. reserved                 ds.l    1                ; offset: $12 (18)
  562. reserved2                 ds.w    1                ; offset: $16 (22)
  563. reserved3                 ds.w    1                ; offset: $18 (24)
  564. scCode                     ds.w    1                ; offset: $1A (26)
  565. reserved4                 ds.w    1                ; offset: $1C (28)
  566. scCacheStatsPtr             ds.l    1                ; offset: $1E (30)
  567. scCacheStatsReqSize         ds.w    1                ; offset: $22 (34)
  568. scCacheStatsActSize         ds.w    1                ; offset: $24 (36)
  569. sizeof                     EQU *                    ; size:   $26 (38)
  570.                         ENDR
  571. ; typedef struct GetCacheStatsParam *    GetCacheStatsParamPtr
  572.  
  573. ResetCacheParam            RECORD 0
  574. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  575. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  576. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  577. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  578. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  579. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  580. reserved                 ds.l    1                ; offset: $12 (18)
  581. reserved2                 ds.w    1                ; offset: $16 (22)
  582. reserved3                 ds.w    1                ; offset: $18 (24)
  583. scCode                     ds.w    1                ; offset: $1A (26)
  584. bitmap                     ds.w    1                ; offset: $1C (28)
  585. sizeof                     EQU *                    ; size:   $1E (30)
  586.                         ENDR
  587. ; typedef struct ResetCacheParam *        ResetCacheParamPtr
  588.  
  589. ;  Used in extended user call if attrVersion is kOldUserAttrRecVersion... 
  590. OldUserAttrRec            RECORD 0
  591. scLoginTime                 ds.l    1                ; offset: $0 (0)
  592. scLastUseTime             ds.l    1                ; offset: $4 (4)
  593. scSocketNum                 ds.l    1                ; offset: $8 (8)
  594. scConnectionType         ds.w    1                ; offset: $C (12)
  595. scDisconnectID             ds.w    1                ; offset: $E (14)
  596. sizeof                     EQU *                    ; size:   $10 (16)
  597.                         ENDR
  598. ; typedef struct OldUserAttrRec *        OldUserAttrPtr
  599.  
  600. ;  Used in extended user call if attrVersion is kUserAttrRecVersion... 
  601. UserAttrRec                RECORD 0
  602. scLoginTime                 ds.l    1                ; offset: $0 (0)
  603. scLastUseTime             ds.l    1                ; offset: $4 (4)
  604. scSocketNum                 ds.l    1                ; offset: $8 (8)
  605. scProtocolType             ds.l    1                ; offset: $C (12)        ;  The Session Protocol, i.e. AFP, FTP, SMB 
  606. scTransportType             ds.l    1                ; offset: $10 (16)        ;  The Transport, i.e. ATP, TCP/IP 
  607. scSessionNamePtr         ds.l    1                ; offset: $14 (20)        ;  Str63 
  608. scDisconnectID             ds.l    1                ; offset: $18 (24)
  609. sizeof                     EQU *                    ; size:   $1C (28)
  610.                         ENDR
  611. ; typedef struct UserAttrRec *            UserAttrPtr
  612.  
  613. ExtUserInfoParam        RECORD 0
  614. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  615. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  616. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  617. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  618. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  619. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  620. scNamePtr                 ds.l    1                ; offset: $12 (18)
  621. reserved2                 ds.w    1                ; offset: $16 (22)
  622. reserved3                 ds.w    1                ; offset: $18 (24)
  623. scCode                     ds.w    1                ; offset: $1A (26)
  624. scPosition                 ds.l    1                ; offset: $1C (28)
  625. scUNRecID                 ds.l    1                ; offset: $20 (32)
  626. scUserID                 ds.l    1                ; offset: $24 (36)
  627. attrVersion                 ds.w    1                ; offset: $28 (40)
  628. scUserAttrPtr             ds.l    1                ; offset: $2A (42)
  629. sizeof                     EQU *                    ; size:   $2E (46)
  630.                         ENDR
  631. ; typedef struct ExtUserInfoParam *        ExtUserInfoParamPtr
  632.  
  633. ServiceStateParam        RECORD 0
  634. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  635. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  636. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  637. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  638. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  639. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  640. reserved                 ds.l    1                ; offset: $12 (18)
  641. reserved2                 ds.w    1                ; offset: $16 (22)
  642. reserved3                 ds.w    1                ; offset: $18 (24)
  643. scCode                     ds.w    1                ; offset: $1A (26)
  644. afpTCPState                 ds.w    1                ; offset: $1C (28)
  645. httpState                 ds.w    1                ; offset: $1E (30)
  646. otherState                 ds.w    1                ; offset: $20 (32)
  647. multiHoming                 ds.w    1                ; offset: $22 (34)
  648. srvrUsageLimit             ds.w    1                ; offset: $24 (36)
  649. sizeof                     EQU *                    ; size:   $26 (38)
  650.                         ENDR
  651. ; typedef struct ServiceStateParam *    ServiceStateParamPtr
  652.  
  653. PlugInInfoParam            RECORD 0
  654. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  655. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  656. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  657. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  658. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  659. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  660. reserved                 ds.l    1                ; offset: $12 (18)
  661. reserved2                 ds.w    1                ; offset: $16 (22)
  662. reserved3                 ds.w    1                ; offset: $18 (24)
  663. scCode                     ds.w    1                ; offset: $1A (26)
  664. version                     ds.w    1                ; offset: $1C (28)
  665. index                     ds.l    1                ; offset: $1E (30)
  666. error                     ds.b    1                ; offset: $22 (34)
  667. reserved4                 ds.b    1                ; offset: $23 (35)
  668. name                     ds.b    32                ; offset: $24 (36)
  669. versionStr                 ds.b    12                ; offset: $44 (68)
  670. adminURL                 ds.b    256                ; offset: $50 (80)
  671. plugInAttributes         ds.l    1                ; offset: $150 (336)
  672. plugInRef                 ds.l    1                ; offset: $154 (340)
  673. isLast                     ds.w    1                ; offset: $158 (344)
  674. sizeof                     EQU *                    ; size:   $15A (346)
  675.                         ENDR
  676. ; typedef struct PlugInInfoParam *        PlugInInfoParamPtr
  677.  
  678. PlugInMimeTypeParam        RECORD 0
  679. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  680. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  681. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  682. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  683. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  684. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  685. reserved                 ds.l    1                ; offset: $12 (18)
  686. reserved2                 ds.w    1                ; offset: $16 (22)
  687. reserved3                 ds.w    1                ; offset: $18 (24)
  688. scCode                     ds.w    1                ; offset: $1A (26)
  689. version                     ds.w    1                ; offset: $1C (28)
  690. plugInRef                 ds.l    1                ; offset: $1E (30)
  691. index                     ds.l    1                ; offset: $22 (34)
  692. error                     ds.b    1                ; offset: $26 (38)
  693. reserved4                 ds.b    1                ; offset: $27 (39)
  694. mimetype                 ds.b    80                ; offset: $28 (40)
  695. suffix                     ds.b    32                ; offset: $78 (120)
  696. typeCode                 ds.l    1                ; offset: $98 (152)
  697. creatorCode                 ds.l    1                ; offset: $9C (156)
  698. isLast                     ds.w    1                ; offset: $A0 (160)
  699. sizeof                     EQU *                    ; size:   $A2 (162)
  700.                         ENDR
  701. ; typedef struct PlugInMimeTypeParam *    PlugInMimeTypeParamPtr
  702.  
  703. SetHistoryParam            RECORD 0
  704. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  705. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  706. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  707. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  708. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  709. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  710. reserved                 ds.l    1                ; offset: $12 (18)
  711. reserved2                 ds.w    1                ; offset: $16 (22)
  712. historySampleTime         ds.w    1                ; offset: $18 (24)
  713. scCode                     ds.w    1                ; offset: $1A (26)
  714. sizeof                     EQU *                    ; size:   $1C (28)
  715.                         ENDR
  716. ; typedef struct SetHistoryParam *        SetHistoryParamPtr
  717.  
  718. HistoryData                RECORD 0
  719. dpMin                     ds.b    1                ; offset: $0 (0)
  720. dpMax                     ds.b    1                ; offset: $1 (1)
  721. dpAverage                 ds.b    1                ; offset: $2 (2)
  722. filler                     ds.b    1                ; offset: $3 (3)
  723. sizeof                     EQU *                    ; size:   $4 (4)
  724.                         ENDR
  725. ServerHistoryRec        RECORD 0
  726. historySyncCount         ds.l    1                ; offset: $0 (0)
  727. historyLastSample         ds.l    1                ; offset: $4 (4)
  728. historySampleTime         ds.w    1                ; offset: $8 (8)
  729. numDataPoints             ds.w    1                ; offset: $A (10)
  730. dataPoint                 ds.b    1024 * HistoryData.sizeof ; offset: $C (12)
  731. sizeof                     EQU *                    ; size:   $100C (4108)
  732.                         ENDR
  733. ; typedef struct ServerHistoryRec *        ServerHistoryPtr
  734.  
  735. GetHistoryParam            RECORD 0
  736. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  737. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  738. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  739. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  740. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  741. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  742. scHistory                 ds.l    1                ; offset: $12 (18)
  743. numDataPointsRequested     ds.w    1                ; offset: $16 (22)
  744. reserved2                 ds.w    1                ; offset: $18 (24)
  745. scCode                     ds.w    1                ; offset: $1A (26)
  746. sizeof                     EQU *                    ; size:   $1C (28)
  747.                         ENDR
  748. ; typedef struct GetHistoryParam *        GetHistoryParamPtr
  749.  
  750. SMBConfigParam            RECORD 0
  751. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  752. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  753. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  754. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  755. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  756. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  757. reserved                 ds.l    1                ; offset: $12 (18)
  758. reserved2                 ds.l    1                ; offset: $16 (22)
  759. scCode                     ds.w    1                ; offset: $1A (26)
  760. enabled                     ds.b    1                ; offset: $1C (28)
  761. reserved3                 ds.b    1                ; offset: $1D (29)
  762. netBIOSName                 ds        Str63            ; offset: $1E (30)
  763. workgroupName             ds        Str63            ; offset: $5E (94)
  764. comment                     ds        Str63            ; offset: $9E (158)
  765. winsAddress                 ds        Str63            ; offset: $DE (222)
  766. sizeof                     EQU *                    ; size:   $11E (286)
  767.                         ENDR
  768. ; typedef struct SMBConfigParam *        SMBConfigParamPtr
  769.  
  770. BlockUserRec            RECORD 0
  771. name                     ds        Str32Field        ; offset: $0 (0)
  772. recID                     ds.l    1                ; offset: $22 (34)
  773. id                         ds.l    1                ; offset: $26 (38)
  774. loginTime                 ds.l    1                ; offset: $2A (42)
  775. lastUseTime                 ds.l    1                ; offset: $2E (46)
  776. serviceType                 ds.l    1                ; offset: $32 (50)
  777. sessionType                 ds.l    1                ; offset: $36 (54)
  778. at                         ds        AddrBlock        ; offset: $3A (58)
  779.                          ORG 58
  780. ip                         ds.l    1                ; offset: $3A (58)        ;  #### Should be InetHost...
  781. sizeof                     EQU *                    ; size:   $3E (62)
  782.                         ENDR
  783. ; typedef struct BlockUserRec *            BlockUserPtr
  784.  
  785. BlockUserRecParam        RECORD 0
  786. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  787. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  788. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  789. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  790. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  791. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code; -39 == more users than buffer
  792. reserved                 ds.l    1                ; offset: $12 (18)
  793. reserved2                 ds.l    1                ; offset: $16 (22)
  794. scCode                     ds.w    1                ; offset: $1A (26)
  795. version                     ds.l    1                ; offset: $1C (28)        ;  Should be kSCBlockGetUserRecVersion. 
  796. numUsers                 ds.l    1                ; offset: $20 (32)        ;  On input, size of buffer. On output, num users. 
  797. users                     ds.l    1                ; offset: $24 (36)        ;  Pointer to array of SUserRecs to be filled in by call. 
  798. sizeof                     EQU *                    ; size:   $28 (40)
  799.                         ENDR
  800. ; typedef struct BlockUserRecParam *    BlockUserRecParamPtr
  801.  
  802. SCParamBlockRec            RECORD 0
  803. startParam                 ds        StartParam        ; offset: $0 (0)
  804.                          ORG 0
  805. disconnectParam             ds        DisconnectParam ; offset: $0 (0)
  806.                          ORG 0
  807. pollServerParam             ds        PollServerParam ; offset: $0 (0)
  808.                          ORG 0
  809. standardParam             ds        StandardParam    ; offset: $0 (0)
  810.                          ORG 0
  811. setupParam                 ds        SetupParam        ; offset: $0 (0)
  812.                          ORG 0
  813. statusParam                 ds        StatusParam        ; offset: $0 (0)
  814.                          ORG 0
  815. serverEventParam         ds        ServerEventParam ; offset: $0 (0)
  816.                          ORG 0
  817. versionParam             ds        VersionParam    ; offset: $0 (0)
  818.                          ORG 0
  819. userInfoParam             ds        UserInfoParam    ; offset: $0 (0)
  820.                          ORG 0
  821. volMountedParam             ds        VolMountedParam ; offset: $0 (0)
  822.                          ORG 0
  823. getCacheStatsParam         ds        GetCacheStatsParam ; offset: $0 (0)
  824.                          ORG 0
  825. resetCacheParam             ds        ResetCacheParam ; offset: $0 (0)
  826.                          ORG 0
  827. extUserInfoParam         ds        ExtUserInfoParam ; offset: $0 (0)
  828.                          ORG 0
  829. serviceStateParam         ds        ServiceStateParam ; offset: $0 (0)
  830.                          ORG 0
  831. plugInInfoParam             ds        PlugInInfoParam ; offset: $0 (0)
  832.                          ORG 0
  833. plugInMimeTypeParam         ds        PlugInMimeTypeParam ; offset: $0 (0)
  834.                          ORG 0
  835. setHistoryParam             ds        SetHistoryParam ; offset: $0 (0)
  836.                          ORG 0
  837. getHistoryParam             ds        GetHistoryParam ; offset: $0 (0)
  838.                          ORG 0
  839. smbConfigParam             ds        SMBConfigParam ; offset: $0 (0)
  840.                          ORG 0
  841. blockGetUserParam         ds        BlockUserRecParam ; offset: $0 (0)
  842.                          ORG 346
  843. sizeof                     EQU *                    ; size:   $15A (346)
  844.                         ENDR
  845. ; typedef union SCParamBlockRec *        SCParamBlockPtr
  846.  
  847. ;  68K Trap Interface ------------------------------------------------------------------------------ 
  848. ;
  849. ; pascal OSErr ServerDispatchSync(SCParamBlockPtr paramBlock)
  850. ;
  851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  852.         ; parameters:
  853.         ;    paramBlock      => A0
  854.         ; returns:
  855.         ;    OSErr           <= D0
  856.         Macro
  857.         _ServerDispatchSync
  858.             moveq               #0,D0
  859.             dc.w                $A094
  860.         EndM
  861.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  862.         IMPORT_CFM_FUNCTION ServerDispatchSync
  863.     ENDIF
  864.  
  865. ;  Note: there is no ServerDispatchAsync! 
  866. ;  Gestaltage -------------------------------------------------------------------------------------- 
  867.  
  868.  
  869. gestaltASIPFSVersion            EQU        '#!#7'                ; Defined only from 6.0... 
  870. ;  Server Event Detail ----------------------------------------------------------------------------- 
  871.  
  872.  
  873. ;   Bit names for the serverEventMask field of ServerEventQEntry; event numbers returned in
  874. ;   ServerEventRecord... 
  875.  
  876.  
  877.  
  878. kSCStartAFPRequestEvt            EQU        0                    ; also set afpCommandMask for these 
  879. kSCSendAFPResponseEvt            EQU        1
  880.  
  881. kSCServerControlCallEvt            EQU        4                    ; also set serverControlMask for this 
  882.  
  883. kSCServerBusyEvt                EQU        2
  884. kSCServerShutdownEvt            EQU        3
  885. kSCShareEvt                        EQU        5
  886. kSCUnShareEvt                    EQU        6
  887. kSCSetDirAccessEvt                EQU        7
  888. kSCServerNameChangeEvt            EQU        8
  889. kSCVolumePrepEvt                EQU        9
  890. kSCVolumeUnmountEvt                EQU        10
  891. kSCServerStartupEvt                EQU        11
  892. kSCSessionTornDownEvt            EQU        12
  893. kSCOutOfSequenceEvt                EQU        13
  894. kSCWksClosedSessionEvt            EQU        14
  895. kSCSessionTimedOutEvt            EQU        15
  896. kSCSrvrClosedSessionEvt            EQU        16
  897. kSCExtendedServerEvtRec            EQU        31
  898. ;  Maximum size of the Buffer in the ServerEventRecord... 
  899.  
  900. kBufferMax                        EQU        48
  901. IPBlock                    RECORD 0
  902. part                     ds.b    4                ; offset: $0 (0)
  903. sizeof                     EQU *                    ; size:   $4 (4)
  904.                         ENDR
  905. UserAddress                RECORD 0
  906. wholeAddress             ds.l    1                ; offset: $0 (0)
  907.                          ORG 0
  908. appleTalkAddress         ds        AddrBlock        ; offset: $0 (0)
  909.                          ORG 0
  910. ipAddress                 ds        IPBlock            ; offset: $0 (0)
  911. sizeof                     EQU *                    ; size:   $4 (4)
  912.                         ENDR
  913. ServerEventRecord        RECORD 0
  914. eventNumber                 ds.l    1                ; offset: $0 (0)
  915. serverTimeInSeconds         ds.l    1                ; offset: $4 (4)
  916. result                     ds.w    1                ; offset: $8 (8)
  917. bufferSize                 ds.w    1                ; offset: $A (10)
  918. buffer                     ds.b    48                ; offset: $C (12)
  919. nameStr                     ds        Str31            ; offset: $3C (60)
  920. afpCommand                 ds.w    1                ; offset: $5C (92)
  921. sessionID                 ds.l    1                ; offset: $5E (94)
  922. userID                     ds.l    1                ; offset: $62 (98)
  923. userName                 ds        Str31            ; offset: $66 (102)
  924. vRefNum                     ds.w    1                ; offset: $86 (134)
  925. dirID                     ds.l    1                ; offset: $88 (136)
  926. addr                     ds        UserAddress        ; offset: $8C (140)
  927. sizeof                     EQU *                    ; size:   $90 (144)
  928.                         ENDR
  929. ;  For annexVersion field; set by server to indicate version of record... 
  930.  
  931. kServerEventAnnexVersion6        EQU        $06000000
  932. ExtendedServerEventRecord RECORD 0
  933. eventNumber                 ds.l    1                ; offset: $0 (0)
  934. serverTimeInSeconds         ds.l    1                ; offset: $4 (4)
  935. result                     ds.w    1                ; offset: $8 (8)
  936. bufferSize                 ds.w    1                ; offset: $A (10)
  937. buffer                     ds.b    48                ; offset: $C (12)
  938. nameStr                     ds        Str31            ; offset: $3C (60)
  939. afpCommand                 ds.w    1                ; offset: $5C (92)
  940. sessionID                 ds.l    1                ; offset: $5E (94)
  941. userID                     ds.l    1                ; offset: $62 (98)
  942. userName                 ds        Str31            ; offset: $66 (102)
  943. vRefNum                     ds.w    1                ; offset: $86 (134)
  944. dirID                     ds.l    1                ; offset: $88 (136)
  945. addr                     ds        UserAddress        ; offset: $8C (140)
  946. transportType             ds.l    1                ; offset: $90 (144)
  947. annexVersion             ds.l    1                ; offset: $94 (148)
  948. sizeof                     EQU *                    ; size:   $98 (152)
  949.                         ENDR
  950. ServerEventQEntry        RECORD 0
  951. next                     ds.l    1                ; offset: $0 (0)
  952. queuetype                 ds.w    1                ; offset: $4 (4)
  953. callBack                 ds.l    1                ; offset: $6 (6)
  954. serverEventMask             ds.l    1                ; offset: $A (10)
  955. afpCommandMask             ds.l    2                ; offset: $E (14)
  956. serverControlMask         ds.l    1                ; offset: $16 (22)
  957. sizeof                     EQU *                    ; size:   $1A (26)
  958.                         ENDR
  959. ;  ------------------------------------------------------------------------------------------------- 
  960.     ENDIF ; __APPLESHAREFILESERVERCONTROL__ 
  961.  
  962.